题解 CF937A@洛谷 | 937A@Codeforces 【Olympiad】

看到大家有了这些算法:

set、map、sort+相邻比较、桶排序

我就写个O(N2)O(N^2)的暴力。

根据题意,我们要完成的工作是去重和去0。

刚接触OI时,大家应该学过这种去重方法:对于下标为i的数,查找j∈{0, i-1}并比较。至于去0,加个特判即可。

代码:

#include <iostream>
using namespace std;

int main()
{
    int n;
    cin>>n;
    int a[n];
    int cnt = 0;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        if(a[i] == 0) continue;
        bool flag = true;
        for(int j=0;j<i;j++)
        {
            if(a[i] == a[j])
            {
                flag = false;
                break;
            }
        }
        if(flag) ++cnt;
    }
    cout<<cnt<<endl;
    return 0;
}